Python阅读文件教程介绍了如何使用Python读取文件。
很多时候,程序员发现需要从文件中读取内容。可能是我们想从文本文件中读取,例如日志文件或XML文件以进行有效的数据检索。有时,确定如何完成这项工作是一项艰巨的任务。不用担心,Python总是有办法的,使阅读文件成为小事一件。 Python主要有2种方式阅读。为了保持简单,我们只是从文本文件中读取,随时可以自己探索XML。 XML是一个非常酷的标记,但随着你的深入,这是一个头痛的问题。示例如下:
在Python中打开文件
test.txt
I am a test file.
Maybe someday, he will promote me to a real file.
Man, I long to be a real file
and hang out with all my new real file friends.
例
|
|
这很简单的解释。我们有一个令人敬畏的小的test.txt文件填充一些随机文本。现在,在这个例子中,我们有了我们的代码。就像你点击一个文件打开它,Python需要知道要打开什么文件。所以,我们使用open方法来告诉Python我们想要打开什么,并打开(连接)它。 “r”只是告诉我们想要阅读的Python(当我们想写入一个文件时,它是“w”)。当然,我们将这个新连接设置为一个变量,以便稍后再使用。但是,我们只打开一个文件,这不是令人兴奋的。我们来试试看读取文件。
Python文件读取方法
file.read(n) - 该方法从文件读取n个字符,或者如果n为空,则读取整个文件。
file.readline(n) - 此方法从文本文件读取整行。
例
|
|
结果
I
am a test file.
Maybe someday, he will promote me to a real file.
Man, I long to be a real file
and hang out with all my new real file friends.
哇哇!所以这可能有点混乱。首先,我们按预期打开文件。接下来,我们使用read(1),并注意到我们提供了1的参数,这意味着我们想要读取下一个字符。所以,Python为我们打印出“I”,因为这是test.txt文件中的第一个字符。接下来会发生什么事情呢?我们告诉Python用read()读取整个文件,因为我们没有提供任何参数。但是,它不包括我们刚读的“I”!这是因为Python只是把它放弃了。所以,如果Python已经读了“I”,它将从下一个字符开始读取。原因是这样,您可以循环浏览文件,而无需每次想要读取新字符时跳过这么多字符。我知道这很复杂,但认为读取就像一个单向过程。 Python是懒惰的,它不想返回并重读内容。让我们进一步读取一下。
例
|
|
结果
I am a test file.
Maybe someday, he will promote me to a real file.
哈!这一次我们为Python的诡计做好了准备。由于我们只是使用readline()方法两次,我们知道由于Python的阅读过程,我们会得到前2行。当然,我们也知道readline()只读一行,因为它的语法很简单。对Python的阅读能力来说,最后一个重要的,复杂的和令人敬畏的读取功能是好的。
例
|
|
结果
[‘I am a test file.\n’, ‘Maybe someday, he will promote me to a real file.\n’, ‘Man, I long to be a real file\n’, ‘and hang out with all my new real file friends.’]
什么!? Python只是吹我们的头脑!首先,不要为 \n惹恼。它只是一个换行符,因为这些行在不同的文件上,Python希望保留这种格式(您可以随时将其删除)。我们正常打开文件,我们创建一个列表,现在我们已经掌握了。然后,我们使用in关键字将文件分成我们for循环中的行。 Python足够聪明才能理解它应该将文件分解成行。接下来,当我们循环遍历文件的每一行时,我们使用myList.append(行)将每行添加到myList列表。最后,当我们打印出来时,Python向我们展示了它的荣耀。它将文件的每一行分解成一个字符串,我们可以操作它来做任何我们想要的。
等待!不要忘了关闭文件!
例
|
|
保存到最后的重要事情是您应该始终使用close()方法关闭文件。 Python在打开文件并阅读它们时消耗过大,因此暂停并关闭文件以结束连接。 关闭文件总是很好的习惯,你的内存会感谢你。 接下来,我们通过写入文件来做一些建设。